<?php

namespace app\common\model;

use think\Model;

class ServiceOrder extends Model
{
    // 表名
    protected $name = 'service_order';
    
    // 自动写入时间戳字段
    protected $autoWriteTimestamp = 'int';
    protected $createTime = 'createtime';
    protected $updateTime = 'updatetime';
    
    // 订单状态
    const STATUS_UNPAID = 0;    // 待支付
    const STATUS_PAID = 1;      // 已支付
    const STATUS_SHIPPED = 2;   // 已发货
    const STATUS_FINISH = 3;    // 已完成
    const STATUS_CANCEL = 4;    // 已取消
    const STATUS_REFUND = 5;    // 已退款
    
    /**
     * 获取订单状态文字说明
     */
    public function getStatusTextAttr($value, $data)
    {
        $status = [
            self::STATUS_UNPAID => '待支付',
            self::STATUS_PAID => '已支付',
            self::STATUS_SHIPPED => '已发货',
            self::STATUS_FINISH => '已完成',
            self::STATUS_CANCEL => '已取消'
        ];
        return isset($status[$data['status']]) ? $status[$data['status']] : '';
    }
    
    /**
     * 关联用户模型
     */
    public function user()
    {
        return $this->belongsTo('User', 'user_id', 'id');
    }
    
    /**
     * 关联服务项目模型
     */
    public function service()
    {
        return $this->belongsTo('GuService', 'service_id', 'id');
    }
}